home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-08-21 | 3.2 KB | 64 lines | [TEXT/pdos] |
- Apple II
- Technical Notes
- _____________________________________________________________________________
- Developer Technical Support
-
-
- AppleTalk
- #5: SPCommand Calls and Error $0702
-
- Written by: Mark Day July 1989
-
- The system now uses SPCommand calls asynchronously. Applications that have
- AppleShare volumes mounted under System Software 5.0 and also make SPCommand
- calls themselves should now handle the "Too many ASP calls" error, $0702.
- _____________________________________________________________________________
-
- AppleShare uses a protocol called AppleTalk Session Protocol (ASP) to maintain
- a connection (session) with all servers that you are logged on to. All
- commands and data transfer to the server are sent using ASP.
-
- The implementation of ASP on the Apple IIGS has a limit of one command
- outstanding (waiting to complete) per session. This means that if one command
- has been sent, its reply must be received before you can send the next
- command. Remember, the SPCommand call is used to send commands over a
- session. If you try to issue an SPCommand before another (asynchronous)
- SPCommand on the same session has completed, your call will return with a "Too
- many ASP calls" error, $0702.
-
- Before System Software 5.0 on the Apple IIGS, no system software made
- asynchronous SPCommand calls, and therefore this error would only occur if the
- developer was making the asynchronous calls. As of System Software 5.0, the
- AppleShare FST uses asynchronous calls to help prevent the loss of a
- connection with servers and to assist the Finder in dynamically updating
- windows when a change is made to a network volume. Therefore, this error may
- be returned even though the developer is not making asynchronous calls.
-
- The error is easy to handle if you are making synchronous SPCommand calls.
- Simply make the call, and if it completes with error $0702, loop back and make
- the call again until you can do so without error $0702. This technique forces
- your program to wait until ASP is free again to make the call.
-
- If you are making asynchronous SPCommand calls, and you receive the $0702
- error, you might want to install a short (i.e., 1/4 second) timer using the
- InstallTimer call, and make the SPCommand call again when the timer completes.
- Remember, the InstallTimer has to be asynchronous, since you are making it
- from the completion routine of an asynchronous call.
-
- The SPWrite call also has a limit of one outstanding call per session. System
- software does not currently use asynchronous SPWrite calls, but looping until
- ASP returns something other than $0702 would be a good precaution for SPWrite,
- too.
-
-
- Note: When using the AppleShare FST under GS/OS, there is little
- reason to make SPCommand calls yourself, since most of the calls
- you can make are available through the FST as normal file system
- calls or as FST-specific calls.
-
-
- Further Reference
- _____________________________________________________________________________
- o AppleShare Programmer's Guide for the Apple IIGS
- o Inside AppleTalk
- o System Software 5.0 documentation (APDA)